import numpy as np
import pandas as pd
import matplotlib.pyplot as plt


def sep(label=''):
    print('-' * 32, label, '-' * 32, sep='')


# 1.	房天下数据是真实房地产中介的统计信息，可以通过信息查找一些相关数据，现在对该数据进行如下处理：
# (1)	基础要求
# ①	使用juypternotebook或者pycharm完成（10分）
# ②	读取数据集（10分）
sep('读取数据集')
df = pd.read_excel(r'../../../python_math/data/ftx.xls')
print(df[:5])

# (2)	数据分析
# ①	提取时间为2009年的数据，使用分组函数，计算上海和沈阳的地区的销售最大值（10分）
sep('提取时间为2009年的数据')
df2009 = df[df['年'] == 2009]
print(df2009[:5])
sep('上海和沈阳的地区的销售最大值')
df_sh_shy = df2009[df2009['销售区域'].isin(['上海', '沈阳'])]
xmax = df_sh_shy['销售数量'].max()
print(f'{xmax:,d}')

# ②	添加一列新数据，命名季度（10分）
# ③	通过月份进行转换得到1-3为1季度，4-6为2季度，以此类推（10分）
sep('添加一列新数据，命名季度')
df['季度'] = (df['月'] - 1) // 3 + 1
print(df[-5:])

# ④	计算沈阳地区2009年每季度的销售总和（10分）
sep('沈阳地区2009年每季度的销售总和')
df_shy2009 = df_sh_shy[df_sh_shy['销售区域'] == '沈阳']
xsum = df_shy2009['销售数量'].sum()
print(f'{xsum:,d}')

# ⑤	将修改后的数据进行保存到1.csv中（10分）
sep('将修改后的数据进行保存到1.csv中')
df.to_csv('1.csv')

# ⑥	使用交叉表，表达数据销售区域和年的关系（10分）
sep('交叉表，表达数据销售区域和年的关系')
xcrosstab = pd.crosstab(df['销售区域'], df['年'])
print(xcrosstab)

# ⑦	统计季度的频次（10分）
sep('统计季度的频次')
xfreq = df['季度'].value_counts()
print(xfreq)

# ⑧	使用季度频次，绘制条形图（10分）
sep('使用季度频次，绘制条形图')
xfreq.plot.bar()
plt.show()
